// pages/news/detail.js
// 新闻详情页面
const auth = require('../../utils/auth');

// 使用权限检查包装页面对象
Page(auth.pagePermission({
  /**
   * 页面的初始数据
   */
  data: {
    // 新闻ID
    id: null,
    
    // 新闻类型
    type: '',
    
    // 新闻详情
    news: null,
    
    // 是否已点赞
    isLiked: false,
    
    // 相关推荐新闻
    relatedNews: [],
    
    // 新闻列表
    newsList: [
      {
        id: 1,
        title: '山东劳动职业技术学院举办2023年教师教学能力大赛',
        date: '2023-05-20',
        type: '学院新闻',
        image: '/static/images/news1.jpg',
        readCount: 325,
        content: '为深入贯彻落实习近平总书记关于教育的重要论述和全国职业教育大会精神，进一步提高我院教师教学能力，促进教师专业化发展，学院于2023年5月20日举办了教师教学能力大赛。\n\n本次大赛以"立德树人、技能报国"为主题，共有来自各系部的50余名教师参赛。比赛分为教学设计、课堂教学和教学反思三个环节，全面考察教师的教育教学能力。\n\n经过激烈角逐，最终评选出一等奖3名、二等奖5名、三等奖8名。获奖教师将代表学院参加山东省教师教学能力大赛。\n\n学院领导高度重视本次大赛，院长在闭幕式上指出，教师教学能力是提高人才培养质量的关键，希望全院教师以此次大赛为契机，不断提升教学水平，为培养更多高素质技术技能人才贡献力量。'
      },
      {
        id: 2,
        title: '我院成功举办第十二届大学生职业生涯规划大赛',
        date: '2023-05-15',
        type: '学院新闻',
        image: '/static/images/news2.jpg',
        readCount: 218,
        content: '为引导学生树立正确的成才观和就业观，帮助学生科学规划职业生涯，我院于2023年5月15日成功举办了第十二届大学生职业生涯规划大赛。\n\n本次大赛以"规划人生，放飞梦想"为主题，共有来自各系部的28名学生参赛。比赛分为PPT展示和现场答辩两个环节，全面考察学生的职业规划能力和表达能力。\n\n经过激烈角逐，最终评选出一等奖2名、二等奖4名、三等奖6名。获奖学生将代表学院参加山东省大学生职业生涯规划大赛。\n\n学院领导高度重视本次大赛，希望全院学生以此次大赛为契机，明确职业发展方向，提升就业竞争力，实现人生价值。'
      },
      {
        id: 3,
        title: '山东劳动职业技术学院与多家企业签订校企合作协议',
        date: '2023-05-10',
        type: '通知公告',
        image: '/static/images/news3.jpg',
        readCount: 176,
        content: '为深化产教融合，促进校企合作，我院于2023年5月10日与多家企业签订了校企合作协议，共同培养高素质技术技能人才。\n\n本次签约仪式上，我院与山东省内10家知名企业签订了校企合作协议，涉及机械制造、电子信息、建筑工程、汽车维修等多个领域。双方将在人才培养、实习就业、技术研发等方面开展全方位合作。\n\n学院院长表示，校企合作是职业教育的生命线，学院将充分发挥自身优势，为企业提供人才支持和技术服务，同时也希望企业能够为学生提供更多实习和就业机会。\n\n企业代表表示，将积极参与学院的人才培养工作，提供实习岗位和就业机会，共同培养符合企业需求的高素质技术技能人才。'
      },
      {
        id: 4,
        title: '关于开展2023年暑期"三下乡"社会实践活动的通知',
        date: '2023-05-08',
        type: '通知公告',
        image: '/static/images/news4.jpg',
        readCount: 245,
        content: '为深入学习贯彻习近平新时代中国特色社会主义思想，引导广大青年学生在社会实践中受教育、长才干、作贡献，学院决定开展2023年暑期"三下乡"社会实践活动。\n\n一、活动主题\n"青春建功新时代，奋进新征程"\n\n二、活动时间\n2023年7月1日至8月31日\n\n三、活动内容\n1. 理论宣讲：深入基层开展理论宣讲，宣传党的路线方针政策。\n2. 科技支农：发挥专业优势，为农村提供技术服务。\n3. 教育关爱：关爱留守儿童，开展支教活动。\n4. 文化传承：宣传优秀传统文化，开展文化下乡活动。\n5. 美丽中国：开展环保宣传，参与生态文明建设。\n\n四、报名方式\n请各系部于2023年6月15日前将参加人员名单报送至学院团委。\n\n五、注意事项\n1. 各系部要高度重视，精心组织，确保活动安全有序开展。\n2. 参加活动的学生要严格遵守纪律，注意安全，树立良好形象。\n3. 活动结束后，各团队要及时总结经验，提交实践报告。'
      },
      {
        id: 5,
        title: '山东劳动职业技术学院90后副教授谭逸萍入选第四届山东省职业教育青年技能名师',
        date: '2023-05-05',
        type: '媒体关注',
        image: '/static/images/news5.jpg',
        readCount: 312,
        content: '近日，山东省教育厅公布了第四届山东省职业教育青年技能名师名单，我院90后副教授谭逸萍成功入选。\n\n谭逸萍，女，1990年生，博士，副教授，现任山东劳动职业技术学院机电工程系教师。她长期从事机电一体化技术专业教学工作，主持省级教学改革项目3项，发表学术论文10余篇，获得国家发明专利2项，指导学生参加各类技能大赛获国家级奖项5项、省级奖项10余项。\n\n谭逸萍表示，入选山东省职业教育青年技能名师是荣誉也是责任，她将继续深耕职业教育，培养更多高素质技术技能人才，为山东省职业教育发展贡献力量。\n\n学院领导对谭逸萍的成功入选表示祝贺，希望全院教师以谭逸萍为榜样，不断提升教学水平和科研能力，为学院发展作出更大贡献。'
      },
      {
        id: 6,
        title: '山东劳动职业技术学院陈婷婷在国际权威期刊《Corrosion Science》上发表研究论文',
        date: '2023-05-03',
        type: '媒体关注',
        image: '/static/images/news6.jpg',
        readCount: 287,
        content: '近日，我院教师陈婷婷在国际权威期刊《Corrosion Science》上发表了题为《基于深度学习的金属腐蚀预测模型研究》的研究论文。\n\n《Corrosion Science》是腐蚀科学领域的国际顶级期刊，影响因子为7.205。陈婷婷的研究论文提出了一种基于深度学习的金属腐蚀预测模型，该模型可以准确预测金属在不同环境下的腐蚀行为，为金属材料的防腐设计提供理论依据。\n\n陈婷婷，女，博士，副教授，现任山东劳动职业技术学院材料工程系教师。她长期从事金属材料腐蚀与防护研究，主持省级科研项目2项，发表高水平学术论文8篇，获得国家发明专利3项。\n\n学院领导对陈婷婷的科研成果表示祝贺，希望全院教师以此为榜样，积极开展科学研究，提升学院科研水平和学术影响力。'
      }
    ],
    
    // 轮播图数据
    banners: [
      { id: 1, url: '/static/images/banner1.png', title: '学院举行2023年春季运动会', readCount: 156 },
      { id: 2, url: '/static/images/banner2.png', title: '学院召开2023年教学工作会议', readCount: 132 },
      { id: 3, url: '/static/images/banner3.png', title: '学院开展"劳动文化月"活动', readCount: 189 }
    ]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取新闻ID和类型
    const { id, type } = options;
    
    this.setData({
      id: parseInt(id),
      type
    });
    
    // 获取新闻详情
    this.getNewsDetail();
    
    // 获取相关推荐
    this.getRelatedNews();
    
    // 检查是否已点赞
    this.checkLikeStatus();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    // 增加阅读量
    this.increaseReadCount();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    const news = this.data.news;
    if (!news) return {};
    
    return {
      title: news.title,
      path: `/pages/news/detail/detail?id=${news.id}&type=${news.type}`,
      imageUrl: news.image
    };
  },

  // 获取新闻详情
  getNewsDetail() {
    let news = null;
    
    if (this.data.type === 'banner') {
      // 获取轮播图新闻
      news = this.data.banners.find(item => item.id === this.data.id);
    } else {
      // 获取普通新闻
      news = this.data.newsList.find(item => item.id === this.data.id);
    }
    
    if (news) {
      // 设置页面标题
      wx.setNavigationBarTitle({
        title: news.title
      });
      
      this.setData({
        news
      });
    } else {
      wx.showToast({
        title: '新闻不存在',
        icon: 'none'
      });
      
      // 返回上一页
      setTimeout(() => {
        wx.navigateBack();
      }, 1500);
    }
  },
  
  // 获取相关推荐
  getRelatedNews() {
    const currentNews = this.data.newsList.find(item => item.id === this.data.id);
    
    if (currentNews) {
      // 获取相同类型的其他新闻
      const relatedNews = this.data.newsList
        .filter(item => item.type === currentNews.type && item.id !== currentNews.id)
        .slice(0, 3); // 最多显示3条相关新闻
      
      this.setData({
        relatedNews
      });
    }
  },
  
  // 检查是否已点赞
  checkLikeStatus() {
    const likedNews = wx.getStorageSync('likedNews') || [];
    const isLiked = likedNews.includes(this.data.id);
    
    this.setData({
      isLiked
    });
  },
  
  // 切换点赞状态
  toggleLike() {
    const isLiked = !this.data.isLiked;
    let likedNews = wx.getStorageSync('likedNews') || [];
    
    if (isLiked) {
      // 添加点赞
      if (!likedNews.includes(this.data.id)) {
        likedNews.push(this.data.id);
      }
      
      wx.showToast({
        title: '点赞成功',
        icon: 'success'
      });
    } else {
      // 取消点赞
      likedNews = likedNews.filter(id => id !== this.data.id);
      
      wx.showToast({
        title: '已取消点赞',
        icon: 'none'
      });
    }
    
    // 保存点赞状态
    wx.setStorageSync('likedNews', likedNews);
    
    this.setData({
      isLiked
    });
  },
  
  // 增加阅读量
  increaseReadCount() {
    // 实际项目中应该调用后端接口增加阅读量
    // 这里仅做模拟
    console.log('增加阅读量');
  },
  
  // 预览图片
  previewImage() {
    if (this.data.news && this.data.news.image) {
      wx.previewImage({
        current: this.data.news.image,
        urls: [this.data.news.image]
      });
    }
  },
  
  // 查看相关新闻
  viewRelatedNews(e) {
    const id = e.currentTarget.dataset.id;
    
    wx.navigateTo({
      url: `/pages/news/detail/detail?id=${id}`
    });
  }
}));